package com.ruoyi.business.app.service;

import com.ruoyi.business.app.bo.*;
import com.ruoyi.business.app.vo.AppUserVo;
import com.ruoyi.business.app.vo.DownloadVo;
import com.ruoyi.business.app.vo.UserAutonymVo;
import com.ruoyi.business.domain.HcxAppUser;
import com.ruoyi.business.domain.HcxUserCoupon;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author xionxin
 */
public interface IAppUserService extends IServicePlus<HcxAppUser> {

    List<DownloadVo> userRegister(HcxAppUserBo bo);

    AjaxResult sendCode(String phonenumber, HttpServletRequest request) throws Exception;

    String pwdLogin(String phonenumber, String password);

    String authcodeLogin(String phonenumber, String authCode);

    int userAutonym(UserAutonymBo bo);

    UserAutonymVo getAutonym();

    AjaxResult thirdLogin(ThirdLoginBo bo);

    String savePhoneNumber(UserSavePhone bo);

    AppUserVo getPersonalDate();

    int amendPassword(UserPwdBo bo);

    int amendPayCode(PayPwdBo bo);

    int phoneCode(PayPwdBo bo);

    List<HcxUserCoupon> getMyDiscountCoupon();

    boolean pwdVerify(String oldPassword);

    boolean payCodeVerify(String oldPayCode);

    boolean authCode(String phonenumber, String authCode);

    int feedback(HcxUserOpinionsBo bo);

    int changePhonenumber(String phonenumber, String authCode);

    boolean quit();

    int update(AppUserUpdateBo bo);

    int resetpwd(AppResetpwd bo);
}
